import datetime

from django.db import models

# Create your models here.
# verbose_name 是 字段备注信息，help_text 是 字段补充说明，
from django.utils import timezone


class Question(models.Model):
    """Question 模型包括问题描述和发布时间。Choice 模型有两个字段，选项描述和当前得票数。"""
    verbose_name = '问题表'
    question_text = models.CharField(max_length=200, verbose_name='问题描述')
    # DateTimeField没有verbose_name
    pub_date = models.DateTimeField('投票日期')

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

    def __str__(self):
        return self.question_text


class Choice(models.Model):
    """Choice 模型有两个字段，选项描述和当前得票数。
    使用 ForeignKey 定义了一个关系。这将告诉 Django，每个 Choice 对象都关联到一个 Question 对象
    """
    verbose_name = '选项表'
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200, verbose_name='选项描述')
    votes = models.IntegerField(default=0, verbose_name='票数')

    def __str__(self):
        return self.choice_text
